package com.srcptit.java.training.kienbd.btvn1;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.StringTokenizer;

public class Bai9VitrituDaiNhat {
     public static void main(String[] args) throws IOException {
             // Sử dụng Buffered đọc file.
            BufferedReader bufr = new BufferedReader(new FileReader("data9.txt"));
            
            // Kiểm tra ngoại lệ.  
            try {
                // Kiểm tra file trống.
                if( bufr.ready()==false )    throw new myEx1();// Bắt lỗi file trống 
                
                // Đọc dữ liệu từ file.
                String dataout = bufr.readLine();
                
                TheLocationWordIsMostLength(dataout); 
                
                // Kết thúc đọc file.
                bufr.close();
            }catch(IOException e) {
                System.out.println("Error! Vui long nhap lai.");
            }catch(Exception e){
                System.out.println("Error!");
            }            
    }
    static void TheLocationWordIsMostLength(String Question) throws IOException{
            // Sử dụng Buffered ghi file.
            BufferedWriter bufw = new BufferedWriter(new FileWriter("result9.txt"));
            
            // Use StringTokenizer
            StringTokenizer stk = new StringTokenizer(Question," ",false);
            String lenest = new String();// Xâu có độ dài lớn nhất.
            String str = new String();// Xâu con của stk.
            
            // Khai báo biến
            int length;// Độ dài từ.       
            int count = 0;// Vị trí của từng từ.
            int MAX = 0;// Độ dài lớn nhất.
            int position = 0;// Vị trí của từ có độ dài lớn nhất.
            while(stk.hasMoreTokens()){
                str = stk.nextToken();
                length = str.length();
                count++;
                if( length>MAX ){
                    lenest = str;
                    MAX = length;
                    position = count;
                }
            }
            // Ghi kết quả vào file.
            bufw.write("Word "+lenest+" is longgest in string and position  : "+position);                
            // Đóng phương thức ghi file.
            bufw.close();
    } 
}
